Studien-, Diplomarbeiten und Hiwistellen bei Till Bubeck

Eine genaue Aufgabenstellung von Studien- und Diplomarbeiten läßt sich am besten in einem Gespräch finden. Dann können Interessen und Vorkenntnisse, Zeitraum usw. besser berücksichtigt werden. Es ist auch möglich Arbeiten im Team, oder in enger Zusammenarbeit mit anderen durchzuführen.

Also, am Besten einfach 'mal vorbeischauen:

Tilmann Bubeck
Wilhelm-Schickard-Institut für Informatik
Arbeitsbereich Technische Informatik
Raum 129, Sand 13, D-72076 Tübingen
Tel: 07071/295865; Fax: 07071-610399
EMail: bubeck@peanuts.informatik.uni-tuebingen.de(bubeck@peanuts.informatik.uni-tuebingen.de)


Studienarbeit

Entwurf und Implementierung von gemeinsamem Speicher auf Workstationnetzen

Im Arbeitsbereich Rosenstiel wird an grundlegenden Konzepten zur Parellelisierung von Anwendungen gearbeitet und in diesem Zusammenhang das Distributed-Threads-System (DTS) entwickelt. Es erlaubt, den Programmflu▀ in mehrere Zweige zu spalten und auf verschiedenen Prozessoren auszufⁿhren. Das System kann dabei sowohl auf Maschinen mit gemeinsamem Speicher, wie auch auf Maschinen mit getrenntem Hauptspeicher eingesetzt werden. Dabei werden mehrere Funktionen nebenlΣufig ausgefⁿhrt und ggf. die Funktionsparameter und das Resultat zwischen den verschiedenen AdressrΣumen automatisch kopiert. Problematisch ist in diesem Zusammenhang der fehlende gemeinsame Speicher.

Aufgabe dieser Studienarbeit ist der Entwurf und die Integration eines gemeinsamen Speichers in das bestehende System. Idee dabei ist, da▀ jedes Programmstⁿck ein gemeinsames Speicherstⁿck anfordern kann und anschlie▀end lesen oder beschreiben. Wird das gleiche Speicherstⁿck von einem anderen Prozessor angefordet, dann kann dadurch ein gemeinsamer Speicher realisiert werden. Dieses Verfahren sollte sich sowohl auf Maschinen mit bereits gemeinsamem, wie auch getrenntem Hauptspeicher effizient realisieren lassen.

Nähere Informationen sind bei T. Bubeck, Raum 129, Sand 13 zu erhalten.


Studienarbeit

Parallelisierung eines RayTracers mit DTS

Im Arbeitsbereich GRIS wurde ein RayTracer namens RayViS entwickelt, der in vielen interessanten Anwendungen, wie zum Beispiel der Visualisierung relativistischer Effekte eingesetzt wird. Er ist objekt-orientiert aufgebaut, vollstΣndig in C++ realisiert und arbeitet im Moment sequentiell auf Silicon-Graphics Maschinen.
Im Arbeitsbereich Rosenstiel wird an grundlegenden Konzepten zur Parellelisierung von Anwendungen gearbeitet und in diesem Zusammenhang das Distributed-Threads-System (DTS) entwickelt. Es erlaubt dem Verwender, den Programmflu▀ in mehrere Zweige zu spalten und auf verschiedenen Prozessoren auszufⁿhren. Dabei ist es unerheblich, ob die verwendeten Prozessoren ⁿber einen gemeinsamen Adressraum verfⁿgen. Wie der Name des Systems andeutet, kommt dabei ein Verfahren zum Einsatz, wie es auf Maschinen mit gemeinsamem Hauptspeicher bekannt ist.

Aufgabe dieser Studienarbeit ist die Parallelisierung des vorhandenen RayTracers mit den Verfahren von DTS. Dabei mu▀ das bisherige Programm um (wenige) Anweisungen zur Parallelsierung erweitert werden und die entstehenden Schnittstellen an beide Systeme angepa▀t werden.

Nähere Informationen sind bei T. Bubeck, Raum 129, Sand 13 zu erhalten.


Studienarbeit

Simulation versch. Kommunikationsverbindungen bei parallelen Applikationen

Im Bereich des parallelen Rechnens, besonders bei Maschinen mit getrenntem Hauptspeicher, lassen sich Programmlaufzeiten nur sehr schwer messen. Das bei sequentiellen Programmen benutzte Verfahren mittels time(1) die von anderen Einflüssen bereinigte Programmlaufzeit durch das Betriebssystem messen zu lassen, versagt bei parallelen Algorithmen.

Aus diesem Grund wurde das Programmpaket Speedy entwickelt. Es erlaubt auf Basis von Informationen, die während der Programmausführung gesammelt werden, den Programmfluß mit den benötigten Zeitannotationen zu rekonstruieren. Dabei werden im Moment die für die Kommunikation benötigten Zeiten nicht berücksichtigt.
Aufgabe dieser Studienarbeit ist deshalb die Erweiterung von Speedy, sodaß auch die Kommunikationszeiten in die Berechnung der Laufzeit eingehen. Durch Austausch einiger Konstanten kann dann auf Basis eines auf einer konkreten Architektur abgelaufenen Programmes eine Aussage darüber gemacht werden, wie schnell dieses auf anderen Verbindungsnetzen sein würde.
Die praktische Verwendbarkeit des neuen Verfahrens soll gezeigt werden, indem die Kommunikationszeiten von bereits parallelisierten Programmen mit Speedy gemessen werden. Diese sollen dann mit den Zeiten verglichen werden, die mittels time(1) erhalten wurden.

Voraussetzung für diese Studienarbeit sind Kenntnisse in C/C++. Der Nachweis über eine erfolgreiche Teilnahme erfordert eine schriftliche Ausarbeitung sowie einen abschließenden Vortrag in unserem Mitarbeiter- und Diplomandenseminar.

Nähere Informationen sind bei T. Bubeck, Raum 129, Sand 13 zu erhalten.


Hiwistellen

Zur Mitarbeit am Distributed Thread System (DTS) suche ich noch Hiwis

Zur Mitarbeit am Distributed Thread System (DTS) suche ich ab sofort einen Hiwi. Eine mögliche Aufgabe besteht darin, die DTS-Threads auf einem anderen Thread-System (POSIX-PThreads) aufzusetzen, und damit eine Portierung auf AIX 3.2.5 zu ermöglichen. Voraussetzungen sind Kenntnisse in C, Unix und dessen typischen Werkzeugen, sowie die Bereitschaft im Team zu arbeiten.

Nachfolgend eine kurze Beschreibung von DTS selbst, damit eine ungefähre Vorstellung der Arbeit vermittelt werden kann. Interessenten können sich bei Till Bubeck im Raum 129 melden. Dabei kann auch auf individuelle Wünsche hinsichtlich des Arbeitsgebietes eingegangen werden.

Durch die Entwicklung der Mikroprozessor- und Netzwerktechnik sind heutige Workstationnetze in der Lage, durch verteiltes Rechnen Rechenkapazitäten von Großrechnern zu erreichen oder so gar zu übertreffen. Die dazu notwendige Programmierung unterscheidet sich jedoch fundamental von der herkömmlichen, sequentiellen. Zusätzlich zum Finden der Lösung eines Problems, muß diese beim verteilten Rechnen noch in kleine, parallel auszuführende Einheiten unterteilt und auf verschiedenen Prozessoren nebenläufig ausgeführt werden. Zur Erleichterung dieser Arbeit wurde das Distributed Thread System (DTS) entwickelt, das es dem Benutzer auf einfache Weise ermöglicht, seine Programme über ein Netz von lose gekoppelten Workstations zu verteilen, und stellt im Kern einen nicht blockierenden Remote-Procedure-Call (RPC) zur Verfügung. Es orientiert sich dabei an den auf Multiprozessoren mit gemeinsamem Hauptspeicher bekannten Thread-Paketen und ermöglicht damit die einheitliche Handhabung von lokalen Threads und netzwerkübergreifenden Funktionsaufrufen. Zusätzlich sorgt das System für eine gleichmäßige Lastverteilung und Fehlertoleranz beim Ausfall von Maschinen.

Nähere Informationen sind bei T. Bubeck, Raum 129, Sand 13 zu erhalten.